<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
        伪数组（/ 类数组）
        是一种按照索引号存储数据且具有 lenght 属性的对象。
        因为是对象，所有不能调用数组的方法。 比如 forEach(), push()等

        类数组对象（伪数组）满足一下条件：

        1. 对象必需有属性， 并指定数组的长度，否则转化后就是空数组
        2. 数组对象的属性必需是数组或数值型字符串， 并且从 0， 1， 2， 3，


        类（伪）数组对象，转化为数组  Array.form(obj)
        */


        function sum() {
            console.log(typeof arguments);
            console.log(arguments);


            let temp = Array.from(arguments);
            temp.push("张飞");
            console.log(temp);
        }
        sum(1, 2, 3, 4, 5);

        let obj = {
            0: "剑圣",
            1: true,
            2: 25,
            3: "船长",
            length: 4
        };



        let result = Array.from(obj);
        console.log(obj);
        result.push("张飞");
        console.log(result);
    </script>
</body>

</html>